In Gentoo Prefix we go by Apple's convention to give modules the .bundle
extension.
http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html
(Above link was removed by Apple, the link below contains a copy:
http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html,
in case it disappears also, the relevant quote:

Bundle. Bundles are executable files that can be loaded at runtime by
other products. Plug-ins are implemented using bundles. The term bundle
in this context refers to the binary itself, not to a structured
hierarchy. Bundles have the .bundle extension; for example,
MyBundle.bundle.)

--- configure.orig	2009-05-22 12:05:31 +0200
+++ configure	2009-05-22 12:05:39 +0200
@@ -15461,7 +15461,7 @@
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
